package com.jctrip.hotel.source.model.CnBooking.resp;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * @Author: zxy
 * @CreateTime: 2023-08-21 21:04
 * @Description:
 */
@Data
public class ValiadRoomStatusResp extends BaseResponse implements Serializable {
    @JacksonXmlElementWrapper
    @JacksonXmlProperty(localName = "Data")
    private ValiadRoomStatusInfo data;

    @Data
    public static class ValiadRoomStatusInfo{
        @JacksonXmlProperty(localName = "ReturnCode")
        private String ReturnCode;

        @JacksonXmlProperty(localName = "ReturnMessage")
        private String ReturnMessage;

        @JacksonXmlProperty(localName = "PriceAndStatus")
        @JacksonXmlElementWrapper(useWrapping = false)
        private PriceAndStatus PriceAndStatus;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class PriceAndStatus {
        @JacksonXmlProperty(localName = "PriceAndStatuCount")
        private String PriceAndStatuCount;
        @JacksonXmlProperty(localName = "PriceAndStatu")
        @JacksonXmlElementWrapper(useWrapping = false)
        private List<PriceAndStatu> PriceAndStatu;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class PriceAndStatu {
        @JacksonXmlProperty(localName = "Date")
        private String Date;
        @JacksonXmlProperty(localName = "Price")
        private String Price;
        @JacksonXmlProperty(localName = "Currency")
        private String Currency;
        @JacksonXmlProperty(localName = "Count")
        private String Count;
        @JacksonXmlProperty(localName = "Statu")
        private String Statu;
        @JacksonXmlProperty(localName = "LastCancelTime")
        private String LastCancelTime;
    }
}
